// 在这里书写cyrshop这个项目的打包配置文件
// 1 导入第三方模块
const gulp = require("gulp");
const cssmin = require("gulp-cssmin"); // 压缩css
const autoprefixer = require("gulp-autoprefixer"); // 给css的属性加前缀
const htmlmin = require("gulp-htmlmin"); // 压缩html
const uglify = require("gulp-uglify"); // 压缩js
// const babel = require("gulp-babel"); // es6转es5语法的
// const del = require("del"); // 删除文件的
// const webserver = require('gulp-webserver');//开启服务的

// 2 书写任务
// 2-1 移动lib文件夹
// const libHandler = () => {
//   return gulp.src("./src/lib/**").pipe(gulp.dest("./dist/lib"));
// };
// 2-2 移动images文件夹
const imagesHandler = () => {
  return gulp.src("./assets/images/**").pipe(gulp.dest("./dist/images"));
};

// 2-3 压缩css文件
const cssHandler = () => {
  return gulp
    // .src("./assets/css/*.css")
    .src("./assets/css/**")
    .pipe(autoprefixer())
    .pipe(cssmin())
    .pipe(gulp.dest("./dist/css"));
};

// 2-4 压缩html文件
const htmlHandler = () => {
  return gulp
    .src("./*.html")
    .pipe(
      htmlmin({
        collapseBooleanAttributes: true,
        collapseWhitespace: true,
        removeComments: true,
        removeAttributeQuotes: true,
        minifyJS: true,
        minifyCSS: true,
      })
    )
    .pipe(gulp.dest("./dist/pages"));
};

// 2-5 压缩js文件
const jsHandler = () => {
  return gulp
    .src("./assets/js/**")
    // .pipe(
    //   babel({
    //     presets: ["@babel/env"],
    //   })
    // )
    .pipe(uglify())
    .pipe(gulp.dest("./dist/js"));
};

// 2-6 删除dist文件夹
// const delHandler = () => {
//   return del(["./dist"]);
// };

// 2-7 开启热更新的服务器
// const webserverHandler = ()=>{
// return gulp.src('./dist')
// .pipe(webserver({
//     port:8080,
//     open:"./pages/index.html",
//     livereload:true,
//     proxies:[
//         {
//             source:'/aaa',
//             target:"https://way.jd.com/jisuapi/weather"
//         }
//     ]
// }))
// }
// 2-8 监测src里面的文件
// const watchHandler = () => {
//   gulp.watch("./assets/css/**", cssHandler);
//   gulp.watch("./assets/js/*.js", jsHandler);
//   gulp.watch("./src/pages/**", htmlHandler);
//   gulp.watch("./src/lib/**", libHandler);
//   gulp.watch("./assets/images/**", imagesHandler);
// };

// 3 导出默认任务
module.exports.default = gulp.series(
  // delHandler,
  gulp.parallel( jsHandler, htmlHandler, imagesHandler),
  // webserverHandler,
  // watchHandler
);
